package features.advance.template.func;

import com.alibaba.fastjson.JSONObject;
import lombok.Data;

import java.io.IOException;
import java.io.InputStream;
import java.util.*;

/**
 * @author LIN
 * @date 2022-04-15 10:53
 */
public class Product {
    protected static String jsonData = "[{\"id\":2154,\"label\":\"租赁-工作台\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2154,\"parentId\":0,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"租赁-工作台\",\"menuicon\":null,\"funcurl\":\"pages/index/index?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"index\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"true\",\"sort\":20,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2155,\"label\":\"租赁-服务产品管理\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2155,\"parentId\":0,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"租赁-服务产品管理\",\"menuicon\":null,\"funcurl\":null,\"funcid\":null,\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":21,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[{\"id\":2163,\"label\":\"服务产品查看\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2163,\"parentId\":2155,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"服务产品查看\",\"menuicon\":null,\"funcurl\":\"pages/financeProduct/needProduct/needProduct?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"needProduct\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":1,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2164,\"label\":\"添加新服务产品\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2164,\"parentId\":2155,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"添加新服务产品\",\"menuicon\":null,\"funcurl\":\"pages/financeProduct/beforeAddProduct/beforeAddProduct?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"beforeAddProduct\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":2,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2165,\"label\":\"服务产品维护\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2165,\"parentId\":2155,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"服务产品维护\",\"menuicon\":null,\"funcurl\":\"pages/financeProduct/productAlloc/productAlloc?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"productAlloc\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":3,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]}]},{\"id\":2156,\"label\":\"租赁-服务产品审核\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2156,\"parentId\":0,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"租赁-服务产品审核\",\"menuicon\":null,\"funcurl\":null,\"funcid\":null,\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":22,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[{\"id\":2166,\"label\":\"政策规则审核\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2166,\"parentId\":2156,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"政策规则审核\",\"menuicon\":null,\"funcurl\":\"pages/productExamine/findProductExamine/findProductExamine?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"firstProductExamine\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":1,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2167,\"label\":\"客户资质证明材料一级审核\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2167,\"parentId\":2156,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"客户资质证明材料一级审核\",\"menuicon\":null,\"funcurl\":\"pages/productExamine/findProductExamine/findProductExamine?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"secondProductExamine\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":2,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2168,\"label\":\"客户资质证明材料二级审核\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2168,\"parentId\":2156,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"客户资质证明材料二级审核\",\"menuicon\":null,\"funcurl\":\"pages/productExamine/findProductExamine/findProductExamine?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"thirdProductExamine\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":3,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2169,\"label\":\"关联关系维护\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2169,\"parentId\":2156,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"关联关系维护\",\"menuicon\":null,\"funcurl\":\"pages/productExamine/findProductExamine/findProductExamine?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"fourthProductExamine\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":4,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2170,\"label\":\"审核确认\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2170,\"parentId\":2156,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"审核确认\",\"menuicon\":null,\"funcurl\":\"pages/productExamine/findProductExamine/findProductExamine?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"fifthProductExamine\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":5,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]}]},{\"id\":2157,\"label\":\"租赁-专案产品管理\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2157,\"parentId\":0,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"租赁-专案产品管理\",\"menuicon\":null,\"funcurl\":null,\"funcid\":null,\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":23,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[{\"id\":2171,\"label\":\"专案产品查看\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2171,\"parentId\":2157,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"专案产品查看\",\"menuicon\":null,\"funcurl\":\"pages/financeCase/needCase/needCase?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"needCase\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":1,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2172,\"label\":\"添加新专案产品\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2172,\"parentId\":2157,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"添加新专案产品\",\"menuicon\":null,\"funcurl\":\"pages/financeCase/beforeAddCase/beforeAddCase?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"beforeAddCase\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":2,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2173,\"label\":\"专案产品维护\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2173,\"parentId\":2157,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"专案产品维护\",\"menuicon\":null,\"funcurl\":\"pages/financeCase/caseConfig/caseConfig?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"caseConfig\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":3,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2174,\"label\":\"专案产品批量维护\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2174,\"parentId\":2157,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"专案产品批量维护\",\"menuicon\":null,\"funcurl\":\"pages/financeCase/caseConfigBatch/caseConfigBatch?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"caseConfigBatch\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":4,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]}]},{\"id\":2158,\"label\":\"租赁-专案产品审核\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2158,\"parentId\":0,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"租赁-专案产品审核\",\"menuicon\":null,\"funcurl\":null,\"funcid\":null,\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":24,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[{\"id\":2175,\"label\":\"政策规则审核\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2175,\"parentId\":2158,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"政策规则审核\",\"menuicon\":null,\"funcurl\":\"pages/caseExamine/findProjectExamine/findProjectExamine?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"firstProjectExamine\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":1,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2176,\"label\":\"客户资质证明材料一级审核\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2176,\"parentId\":2158,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"客户资质证明材料一级审核\",\"menuicon\":null,\"funcurl\":\"pages/caseExamine/findProjectExamine/findProjectExamine?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"thirdProjectExamine\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":2,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2177,\"label\":\"客户资质证明材料二级审核\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2177,\"parentId\":2158,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"客户资质证明材料二级审核\",\"menuicon\":null,\"funcurl\":\"pages/caseExamine/findProjectExamine/findProjectExamine?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"fourthProjectExamine\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":3,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2178,\"label\":\"审核确认\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2178,\"parentId\":2158,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"审核确认\",\"menuicon\":null,\"funcurl\":\"pages/caseExamine/findProjectExamine/findProjectExamine?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"fifthProjectExamine\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":4,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]}]},{\"id\":2159,\"label\":\"租赁-评审利率默认值\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2159,\"parentId\":0,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"租赁-评审利率默认值\",\"menuicon\":null,\"funcurl\":null,\"funcid\":null,\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":25,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[{\"id\":2179,\"label\":\"评审利率默认值设置申请\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2179,\"parentId\":2159,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"评审利率默认值设置申请\",\"menuicon\":null,\"funcurl\":\"pages/interest/reviewSetUp/reviewSetUp?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"reviewSetUp\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":1,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2180,\"label\":\"评审利率默认值设置审核\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2180,\"parentId\":2159,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"评审利率默认值设置审核\",\"menuicon\":null,\"funcurl\":\"pages/interest/reviewExamine/reviewExamine?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"reviewExamine\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":2,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2181,\"label\":\"当前评审利率默认值列表\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2181,\"parentId\":2159,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"当前评审利率默认值列表\",\"menuicon\":null,\"funcurl\":\"pages/interest/examineList/examineList?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"examineList\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":3,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]}]},{\"id\":2160,\"label\":\"租赁-合同动态文本\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2160,\"parentId\":0,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"租赁-合同动态文本\",\"menuicon\":null,\"funcurl\":null,\"funcid\":null,\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":26,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[{\"id\":2182,\"label\":\"合同动态文本申请\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2182,\"parentId\":2160,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"合同动态文本申请\",\"menuicon\":null,\"funcurl\":\"pages/dynamicDoc/addDynaDoc/addDynaDoc?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"addDynaDoc\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":1,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2183,\"label\":\"合同动态文本审核\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2183,\"parentId\":2160,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"合同动态文本审核\",\"menuicon\":null,\"funcurl\":\"pages/dynamicDoc/audiDynaDoc/audiDynaDoc?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"audiDynaDoc\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":2,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2184,\"label\":\"当前合同动态文本\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2184,\"parentId\":2160,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"当前合同动态文本\",\"menuicon\":null,\"funcurl\":\"pages/dynamicDoc/nowDynaDoc/nowDynaDoc?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"nowDynaDoc\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":3,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]}]},{\"id\":2161,\"label\":\"租赁-产品测算\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2161,\"parentId\":0,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"租赁-产品测算\",\"menuicon\":null,\"funcurl\":\"pages/projectTest/projectTest?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"projectTest\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":27,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2162,\"label\":\"租赁-公共配置\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2162,\"parentId\":0,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"租赁-公共配置\",\"menuicon\":null,\"funcurl\":null,\"funcid\":null,\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":28,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[{\"id\":2185,\"label\":\"产品动态信息维护\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2185,\"parentId\":2162,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"产品动态信息维护\",\"menuicon\":null,\"funcurl\":\"pages/baseData/dynamicElement/dynamicElement?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"dynamicElement\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":1,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2186,\"label\":\"客户资质证明材料维护\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2186,\"parentId\":2162,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"客户资质证明材料维护\",\"menuicon\":null,\"funcurl\":\"pages/financeProduct/dataConfig/dataConfig?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"baseArch\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":2,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2187,\"label\":\"案例库管理\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2187,\"parentId\":2162,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"案例库管理\",\"menuicon\":null,\"funcurl\":\"pages/baseData/caseBase/caseBase?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"caseBase\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":3,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]},{\"id\":2188,\"label\":\"法律文本维护\",\"remark\":\"menu\",\"disabled\":null,\"sort\":null,\"data\":{\"id\":2188,\"parentId\":2162,\"parentName\":null,\"systemId\":17,\"organId\":null,\"menuname\":\"法律文本维护\",\"menuicon\":null,\"funcurl\":\"pages/financeProduct/lawConfig/lawConfig?{\\\"entName\\\":\\\"一汽租赁有限公司\\\",\\\"entId\\\":\\\"2\\\",\\\"stripe\\\":[{\\\"stripeName\\\":\\\"乘用车零售租赁\\\",\\\"stripeId\\\":\\\"2\\\"}]}\",\"funcid\":\"baseLaw\",\"parameter\":null,\"isworkflow\":\"0\",\"isindex\":\"false\",\"sort\":4,\"remark\":null,\"system\":null,\"organ\":null},\"pid\":null,\"pname\":null,\"code\":null,\"children\":[]}]}]";
    protected static String jsonRoleData = null;
    public static void main(String[] args) {

        Menu.menu();
//        Role.role();
    }


}

@Data
class Menu{
    private Integer id;

    private String label;

    private List<Menu> children;

    public static void menu(){

        List<Menu> menus = JSONObject.parseArray(Product.jsonData, Menu.class);
        Map<Integer,Menu> map = new HashMap<>(16);
        recursion(menus,map);
//        System.out.println(map);
        while(true){
            Scanner sc = new Scanner(System.in);
            StringBuilder sb = new StringBuilder();
            while(sc.hasNext()){
                String line = sc.next();
                if("]".equals(line)){
                    sb.append(line);
                    break;
                }
                sb.append(line);
            }
            if("q".equals(sb.toString())){
                return;
            }
            System.out.println("\t\t");
            String haveMenusData = sb.toString();
            List<Integer> haveMenu = JSONObject.parseArray(haveMenusData, Integer.class);

            haveMenu.forEach(e->{
                Menu menu = map.get(e);
                if(menu != null){
                    System.out.println(menu.getLabel());
                }
            });
        }
    }

    public static void recursion(List<Menu> menus, Map<Integer,Menu> map){
        if(menus == null || menus.isEmpty()){
            return;
        }
        menus.forEach(e->{
            map.put(e.getId(),e);
            recursion(e.getChildren(),map);
        });
    }
}
@Data
class Organ{
    private Integer id;
    private String organNo;
    private String organType;
    private String organName;
}
@Data
class WebSystem{
    private Integer id;
    private String name;
}
@Data
class Role{
    private Integer id;

    private String roleCode;

    private String roleName;

    private List<Role> children;

    private Organ organ = new Organ();

    private WebSystem system = new WebSystem();

    public static void role(){
        List<Role> roles = new ArrayList<>();

        if(Product.jsonRoleData == null){
            InputStream systemResourceAsStream = ClassLoader.getSystemResourceAsStream("json/jsonRoleData");
            byte[] data = new byte[1024*1024];
            int r = -1;
            StringBuilder jsonSb = new StringBuilder();
            while(true){
                try {
                    if ((r=systemResourceAsStream.read(data))!=-1){
                        jsonSb.append(new String(data,0,r));
                    }else{
                        break;
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            roles = JSONObject.parseArray(jsonSb.toString(),Role.class);
        }else{
            roles = JSONObject.parseArray(Product.jsonRoleData, Role.class);
        }
        Map<Integer,Role> map = new HashMap<>(16);
        recursion(roles,map);
//        System.out.println(map);
        while(true){
            Scanner sc = new Scanner(System.in);
            StringBuilder sb = new StringBuilder();
            while(sc.hasNext()){
                String line = sc.next();
                if("]".equals(line)){
                    sb.append(line);
                    break;
                }
                sb.append(line);
            }
            if("q".equals(sb.toString())){
                return;
            }
            System.out.println("\t\t");
            String haveMenusData = sb.toString();
            List<Integer> haveMenu = JSONObject.parseArray(haveMenusData, Integer.class);

            boolean notOnlyZulin = false;

            haveMenu.forEach(e->{
                Role role = map.get(e);
                if(role != null && (notOnlyZulin || role.getOrgan() != null && role.getOrgan().getId().equals(3))){
                    String systemName = "";
                    String organName = "";
                    if(role.getSystem() != null){
                       systemName = role.getSystem().getName()==null?"\t":role.getSystem().getName();
                    }
                    if(role.getOrgan() != null){
                        organName = role.getOrgan().getOrganName()==null?"\t":role.getOrgan().getOrganName();
                    }
                    System.out.println(role.getRoleName()
                            +'\t'
                            +(systemName)
                            +'\t'
                            +(organName)
                    );
                }
            });
        }
    }

    public static void recursion(List<Role> roles, Map<Integer,Role> map){
        if(roles == null || roles.isEmpty()){
            return;
        }
        roles.forEach(e->{
            map.put(e.getId(),e);
            recursion(e.getChildren(),map);
        });
    }
}
